--- /dev/null
+ PCRE2 for Debian
+ ----------------
+
+This is PCRE2, the newer version of the PCRE (perl-compatible regular
+expression) library. New projects should use this library in
+preference the older PCRE library (which is, for historical reasons,
+called pcre3 in Debian).
+
+The names of functions in libpcre2-posix are prefixed with PCRE2_, so
+they don't clash with the names in libc.
+
+ -- Matthew Vernon <matthew@debian.org>, Sun, 22 Nov 2015 16:07:27 +0000
--- /dev/null
+The Debian packaging of pcre2 is maintained in git, using the merging
+workflow described in dgit-maint-merge(7). There isn't a patch
+queue that can be represented as a quilt series.
+
+A detailed breakdown of the changes is available from their
+canonical representation - git commits in the packaging repository.
+For example, to see the changes made by the Debian maintainer in
+the first upload of upstream version 1.2.3, you could use:
+
+ % git clone https://git.dgit.debian.org/pcre2
+ % cd pcre2
+ % git log --oneline 1.2.3..debian/1.2.3-1 -- . ':!debian'
+
+(If you have dgit, use `dgit clone pcre2`, rather than plain `git
+clone`.)
+
+ -- Matthew Vernon <matthew@debian.org>, Thu, 30 Nov 2017 14:16:33 +0000
--- /dev/null
+pcre2 (10.48-3.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * GHSA-r9hj-j2rw-4q3m: Fix large JIT stack allocation (Closes: #1149217)
+ * For release, revert platform-specific test case
+
+ -- Salvatore Bonaccorso <carnil@debian.org> Mon, 28 Sep 2026 16:04:18 +0200
+
+pcre2 (10.48-3) unstable; urgency=medium
+
+ * Bump dh compat to 13 (with some changes to rules file)
+
+ -- Matthew Vernon <matthew@debian.org> Sat, 12 Sep 2026 15:45:16 +0100
+
+pcre2 (10.48-2) unstable; urgency=high
+
+ * remove unnecessary libS logic from pcre2-config.in (closes: #1146381)
+
+ -- Matthew Vernon <matthew@debian.org> Tue, 01 Sep 2026 12:54:23 +0100
+
+pcre2 (10.48-1) unstable; urgency=high
+
+ * New upstream release
+
+ -- Matthew Vernon <matthew@debian.org> Mon, 31 Aug 2026 21:37:22 +0100
+
+pcre2 (10.48~rc1-1) experimental; urgency=medium
+
+ * New upstream version (RC, for testing)
+
+ -- Matthew Vernon <matthew@debian.org> Tue, 25 Aug 2026 16:30:31 +0100
+
+pcre2 (10.47-2) experimental; urgency=medium
+
+ * Undo symbol versioning at least for now (Closes: #1119027)
+
+ -- Matthew Vernon <matthew@debian.org> Mon, 27 Oct 2025 11:06:43 +0000
+
+pcre2 (10.47-1) experimental; urgency=medium
+
+ * New upstream version (Closes: #902060)
+
+ -- Matthew Vernon <matthew@debian.org> Tue, 21 Oct 2025 11:09:46 +0100
+
+pcre2 (10.46-1) unstable; urgency=high
+
+ * New upstream release to fix CVE-2025-58050 (Closes: #1112278)
+
+ -- Matthew Vernon <matthew@debian.org> Thu, 28 Aug 2025 08:32:30 +0100
+
+pcre2 (10.45-1) unstable; urgency=medium
+
+ * New upstream release
+
+ -- Matthew Vernon <matthew@debian.org> Wed, 05 Feb 2025 09:25:16 +0000
+
+pcre2 (10.45~rc1-1) experimental; urgency=medium
+
+ * Upstream RC1 for 10.45 version
+
+ -- Matthew Vernon <matthew@debian.org> Thu, 23 Jan 2025 09:49:13 +0000
+
+pcre2 (10.44-5) unstable; urgency=medium
+
+ * Enable JIT on loong64 (Closes: #1089230)
+
+ -- Matthew Vernon <matthew@debian.org> Sun, 08 Dec 2024 13:05:09 +0000
+
+pcre2 (10.44-4) unstable; urgency=medium
+
+ * Disable JIT on armel (it requires v7) (Closes: 1087563)
+
+ -- Matthew Vernon <matthew@debian.org> Fri, 15 Nov 2024 15:53:09 +0000
+
+pcre2 (10.44-3) unstable; urgency=medium
+
+ * Use dh_autoreconf to fix FTBFS on mips64el (Closes: #1087562)
+ * Cherry-pick upstream commit to fix 32-bit issue (Closes: #1087564)
+
+ -- Matthew Vernon <matthew@debian.org> Fri, 15 Nov 2024 14:47:09 +0000
+
+pcre2 (10.44-2) unstable; urgency=medium
+
+ * Upload to unstable (Closes: #1086187)
+ * Update homepage URL (Closes: #1073087)
+ * Mention libre2-dev in libpcre2-dev description (Closes: #1082901)
+
+ -- Matthew Vernon <matthew@debian.org> Thu, 14 Nov 2024 11:40:06 +0000
+
+pcre2 (10.44-1) experimental; urgency=medium
+
+ * New upstream version
+
+ -- Matthew Vernon <matthew@debian.org> Fri, 08 Nov 2024 16:27:46 +0000
+
+pcre2 (10.43-1) experimental; urgency=medium
+
+ * New upstream version
+
+ -- Matthew Vernon <matthew@debian.org> Sat, 17 Feb 2024 10:22:28 +0000
+
+pcre2 (10.42-4) unstable; urgency=medium
+
+ * Build with JIT support on riscv64 (Closes: #1050819)
+
+ -- Matthew Vernon <matthew@debian.org> Tue, 29 Aug 2023 18:23:44 +0100
+
+pcre2 (10.42-3) unstable; urgency=medium
+
+ * Specify source format 1.0 explicitly (Closes: #1049910)
+
+ -- Matthew Vernon <matthew@debian.org> Mon, 21 Aug 2023 11:44:09 +0100
+
+pcre2 (10.42-2) unstable; urgency=medium
+
+ * disable JIT on sparc (Closes: #1034779)
+
+ -- Matthew Vernon <matthew@debian.org> Tue, 11 Jul 2023 23:11:09 +0100
+
+pcre2 (10.42-1) unstable; urgency=medium
+
+ * New upstream version
+
+ -- Matthew Vernon <matthew@debian.org> Sun, 01 Jan 2023 15:44:06 +0000
+
+pcre2 (10.40-3) unstable; urgency=medium
+
+ * Support the noudeb build profile (Helmut Grohne). (Closes: #1024941)
+
+ -- Matthew Vernon <matthew@debian.org> Fri, 02 Dec 2022 17:40:13 +0000
+
+pcre2 (10.40-2) unstable; urgency=low
+
+ * Move to machine-readable copyright file (Bastian Germann)
+ * Remove filenamemangle from debian/watch (Bastian Germann)
+
+ -- Matthew Vernon <matthew@debian.org> Sun, 23 Oct 2022 16:07:18 +0100
+
+pcre2 (10.40-1) unstable; urgency=medium
+
+ * New upstream release
+ * Update watch file to note new upstream repo location
+
+ -- Matthew Vernon <matthew@debian.org> Mon, 25 Apr 2022 17:10:36 +0100
+
+pcre2 (10.39-4) unstable; urgency=medium
+
+ * Backport upstream Hurd build fix (Closes: #1009066)
+
+ -- Matthew Vernon <matthew@debian.org> Mon, 11 Apr 2022 09:23:48 +0100
+
+pcre2 (10.39-3) unstable; urgency=medium
+
+ * Enable JIT on s390x (Closes: #999836)
+ * Re-enable JIT on MIPS (Closes: #892488)
+
+ -- Matthew Vernon <matthew@debian.org> Wed, 17 Nov 2021 14:52:42 +0000
+
+pcre2 (10.39-2) unstable; urgency=medium
+
+ * Update long descriptions of runtime packages (Closes: #978013)
+ * Source-only upload (-1 was binary to get through NEW)
+ * Depend on libc-dev rather than libc6-dev (Closes: #989729)
+
+ -- Matthew Vernon <matthew@debian.org> Mon, 08 Nov 2021 23:47:21 +0000
+
+pcre2 (10.39-1) unstable; urgency=medium
+
+ * New upstream release
+ * Update watch file to reflect new upstream home on github
+ * libpcre2-posix soname updated
+
+ -- Matthew Vernon <matthew@debian.org> Sat, 06 Nov 2021 13:56:27 +0000
+
+pcre2 (10.36-2) unstable; urgency=medium
+
+ * Upload to unstable
+
+ -- Matthew Vernon <matthew@debian.org> Sun, 13 Dec 2020 16:23:03 +0000
+
+pcre2 (10.36-1) experimental; urgency=medium
+
+ * New upstream version
+ * Fix watch file
+
+ -- Matthew Vernon <matthew@debian.org> Mon, 07 Dec 2020 12:35:19 +0000
+
+pcre2 (10.35-2) unstable; urgency=medium
+
+ * Upload to unstable
+
+ -- Matthew Vernon <matthew@debian.org> Fri, 04 Dec 2020 09:52:04 +0000
+
+pcre2 (10.35-1) experimental; urgency=medium
+
+ * New upstream version
+ * Bump standards-version to 4.5.1
+
+ -- Matthew Vernon <matthew@debian.org> Fri, 27 Nov 2020 09:25:08 +0000
+
+pcre2 (10.34-7) unstable; urgency=medium
+
+ * Upstream patch to fix segfault in rspamd (Closes: #946221)
+
+ -- Matthew Vernon <matthew@debian.org> Sat, 07 Dec 2019 17:06:59 +0000
+
+pcre2 (10.34-6) unstable; urgency=high
+
+ * Replace: and Conflict: the previous libpcre2-posix0 package (which
+ erroneously had the soname 2 library in) (Closes: #946279, #946290, #946311)
+ * Can now make a source-only upload now libpcre2-posix2 has made it
+ through NEW. We need that so we can migrate to testing (Closes: #946275)
+
+ -- Matthew Vernon <matthew@debian.org> Sat, 07 Dec 2019 14:34:25 +0000
+
+pcre2 (10.34-5) unstable; urgency=medium
+
+ * Sacrifice an integer so I can do a binary upload for the new
+ libpcre2-posix package name :-(
+
+ -- Matthew Vernon <matthew@debian.org> Tue, 03 Dec 2019 21:14:29 +0000
+
+pcre2 (10.34-4) unstable; urgency=high
+
+ * Add symbols files (Closes: #945973)
+ * Update libpcre2-posix name to match soname
+
+ -- Matthew Vernon <matthew@debian.org> Tue, 03 Dec 2019 19:20:54 +0000
+
+pcre2 (10.34-3) unstable; urgency=medium
+
+ * Remove -dbg package from debian/control as well
+
+ -- Matthew Vernon <matthew@debian.org> Mon, 02 Dec 2019 11:58:33 +0000
+
+pcre2 (10.34-2) unstable; urgency=high
+
+ * Try an upstream patch to fix an ARM bug (apropos 945972)
+ * Remove -dbg in favour of -dbgsyms, thanks to Michael Biebl
+ <biebl@debian.org> for the patch (Closes: #891624)
+
+ -- Matthew Vernon <matthew@debian.org> Mon, 02 Dec 2019 11:22:32 +0000
+
+pcre2 (10.34-1) unstable; urgency=medium
+
+ * New upstream release
+
+ -- Matthew Vernon <matthew@debian.org> Thu, 28 Nov 2019 16:28:31 +0000
+
+pcre2 (10.32-5) unstable; urgency=high
+
+ * Patch from Guillem Jover <guillem@debian.org> to only use SSE2
+ instructions on those i386 CPUs that support them (Closes: #925360)
+
+ -- Matthew Vernon <matthew@debian.org> Mon, 25 Mar 2019 19:56:19 +0000
+
+pcre2 (10.32-4) unstable; urgency=medium
+
+ * Take patch from Jeremy Bicha to build with
+ --disable-pcre2grep-callout: A grep tool should not be expected to
+ execute commands (Closes: #920273) (LP: #1636666)
+
+ -- Matthew Vernon <matthew@debian.org> Thu, 24 Jan 2019 09:20:51 +0000
+
+pcre2 (10.32-3) unstable; urgency=medium
+
+ * Sacrifice an integer to dgit (previous upload didn't work)
+
+ -- Matthew Vernon <matthew@debian.org> Sun, 28 Oct 2018 14:19:04 +0000
+
+pcre2 (10.32-2) unstable; urgency=medium
+
+ * Take Ondřej Nový's patch to remove redundant Priority field in -dbg
+ package
+
+ -- Matthew Vernon <matthew@debian.org> Fri, 26 Oct 2018 20:01:53 +0100
+
+pcre2 (10.32-1) unstable; urgency=medium
+
+ * New upstream release
+
+ -- Matthew Vernon <matthew@debian.org> Fri, 26 Oct 2018 19:27:13 +0100
+
+pcre2 (10.31-3) unstable; urgency=medium
+
+ * Disable JIT on mips* (apropos #892488)
+
+ -- Matthew Vernon <matthew@debian.org> Sat, 10 Mar 2018 00:31:33 +0000
+
+pcre2 (10.31-2) unstable; urgency=low
+
+ * Point to salsa repo in vcs* fields
+ * priority extra -> optional
+ * Add homepage link in debian/control
+ * Update to newer standards-version
+
+ -- Matthew Vernon <matthew@debian.org> Sat, 24 Feb 2018 14:57:26 +0000
+
+pcre2 (10.31-1) unstable; urgency=medium
+
+ * New upstream version (Closes: #883224)
+
+ -- Matthew Vernon <matthew@debian.org> Sat, 24 Feb 2018 12:13:02 +0000
+
+pcre2 (10.22-6) unstable; urgency=medium
+
+ [ Cyril Brulebois ]
+ * Add a libpcre2-8-0-udeb, needed by vte2.91 (Closes: #887674)
+ * Enable parallel building.
+
+ -- Matthew Vernon <matthew@debian.org> Sat, 03 Feb 2018 18:44:08 +0000
+
+pcre2 (10.22-5) unstable; urgency=medium
+
+ * Add Vcs-{Git,Browser} fields to debian/control
+
+ -- Matthew Vernon <matthew@debian.org> Fri, 01 Dec 2017 17:35:06 +0000
+
+pcre2 (10.22-4) unstable; urgency=low
+
+ * Add README.source explaining packaging workflow (Closes: #862425)
+
+ -- Matthew Vernon <matthew@debian.org> Thu, 30 Nov 2017 14:17:39 +0000
+
+pcre2 (10.22-3) unstable; urgency=medium
+
+ * CVE-2017-7186: invalid Unicode property lookup may cause denial of
+ service (Closes: #858233)
+
+ -- Matthew Vernon <matthew@debian.org> Tue, 21 Mar 2017 22:33:58 +0000
+
+pcre2 (10.22-2) unstable; urgency=low
+
+ * re-upload with source :-(
+
+ -- Matthew Vernon <matthew@debian.org> Tue, 02 Aug 2016 19:27:58 +0100
+
+pcre2 (10.22-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Matthew Vernon <matthew@debian.org> Tue, 02 Aug 2016 18:59:19 +0100
+
+pcre2 (10.21-1) unstable; urgency=low
+
+ * New upstream version
+ * Upstream patch to fix workspace overflow for (*ACCEPT) with deeply
+ nested parentheses (Closes: #815920)
+
+ -- Matthew Vernon <matthew@debian.org> Sat, 27 Feb 2016 15:21:34 +0000
+
+pcre2 (10.20-3) unstable; urgency=low
+
+ * Enable JIT on ppc64 & ppc64el (Closes: #806388)
+
+ -- Matthew Vernon <matthew@debian.org> Fri, 27 Nov 2015 08:16:38 +0000
+
+pcre2 (10.20-2) unstable; urgency=low
+
+ * remove unnecessary -L settings (Closes: #805941)
+ * Improve makefile syntax, and add JIT on arm64
+
+ -- Matthew Vernon <matthew@debian.org> Tue, 24 Nov 2015 20:39:15 +0000
+
+pcre2 (10.20-1) unstable; urgency=low
+
+ * Initial debian version (Closes: #805728)
+
+ -- Matthew Vernon <matthew@debian.org> Sun, 22 Nov 2015 15:58:38 +0000
+
--- /dev/null
+Source: pcre2
+Section: libs
+Priority: optional
+Maintainer: Matthew Vernon <matthew@debian.org>
+Standards-Version: 4.5.1
+Build-Depends: debhelper-compat (=13), dpkg-dev (>= 1.16.1~)
+Vcs-Git: https://salsa.debian.org/debian/pcre2.git
+Vcs-Browser: https://salsa.debian.org/debian/pcre2
+Homepage: https://github.com/PCRE2Project/pcre2
+
+Package: libpcre2-8-0
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Description: New Perl Compatible Regular Expression Library- 8 bit runtime files
+ This is PCRE2, the new implementation of PCRE, a library of functions
+ to support regular expressions whose syntax and semantics are as
+ close as possible to those of the Perl 5 language. New projects
+ should use this library in preference to the older library,
+ confusingly called pcre3 in Debian.
+ .
+ This package contains the 8 bit runtime library, which operates on
+ ASCII and UTF-8 input.
+
+Package: libpcre2-8-0-udeb
+Package-Type: udeb
+Build-Profiles: <!noudeb>
+Section: debian-installer
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: New Perl Compatible Regular Expression Library- 8 bit runtime files (udeb)
+ This package contains the 8 bit runtime library, for the Debian Installer.
+
+Package: libpcre2-16-0
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Description: New Perl Compatible Regular Expression Library - 16 bit runtime files
+ This is PCRE2, the new implementation of PCRE, a library of functions
+ to support regular expressions whose syntax and semantics are as
+ close as possible to those of the Perl 5 language. New projects
+ should use this library in preference to the older library,
+ confusingly called pcre3 in Debian.
+ .
+ This package contains the 16 bit runtime library, which operates on
+ UTF-16 input.
+
+Package: libpcre2-32-0
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Description: New Perl Compatible Regular Expression Library - 32 bit runtime files
+ This is PCRE2, the new implementation of PCRE, a library of functions
+ to support regular expressions whose syntax and semantics are as
+ close as possible to those of the Perl 5 language. New projects
+ should use this library in preference to the older library,
+ confusingly called pcre3 in Debian.
+ .
+ This package contains the 32 bit runtime library, which operates on
+ UTF-32 input.
+
+Package: libpcre2-posix3
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Replaces: libpcre2-posix0
+Conflicts: libpcre2-posix0
+Description: New Perl Compatible Regular Expression Library - posix-compatible runtime files
+ This is PCRE2, the new implementation of PCRE, a library of functions
+ to support regular expressions whose syntax and semantics are as
+ close as possible to those of the Perl 5 language. New projects
+ should use this library in preference to the older library,
+ confusingly called pcre3 in Debian.
+ .
+ This package contains the runtime library for the posix-compatible API.
+
+Package: libpcre2-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+Conflicts: libpcre3-dev (<<2:8.35-8)
+Depends: libc-dev, libpcre2-8-0 (= ${binary:Version}), libpcre2-16-0 (= ${binary:Version}), libpcre2-32-0 (= ${binary:Version}), libpcre2-posix3 (= ${binary:Version}), ${misc:Depends}
+Description: New Perl Compatible Regular Expression Library - development files
+ This is PCRE2, the new implementation of PCRE, a library of functions
+ to support regular expressions whose syntax and semantics are as
+ close as possible to those of the Perl 5 language. New projects
+ should use this library in preference to the older library,
+ confusingly called pcre3 in Debian.
+ .
+ Unlike the previous version of PCRE, there is no C++ library included
+ with PCRE2. Users who wish to avoid porting their C++ code to use the
+ PCRE2 C API might want to consider the libre2-dev package in Debian
+ which attempts to provide a similar C++ API to that provided by
+ libpcrecpp in previous versions of PCRE.
+ .
+ This package contains the development files, including headers,
+ static libraries, and documentation.
+
+Package: pcre2-utils
+Section: utils
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: New Perl Compatible Regular Expression Library - utilities
+ This is PCRE2, the new implementation of PCRE, a library of functions
+ to support regular expressions whose syntax and semantics are as
+ close as possible to those of the Perl 5 language. New projects
+ should use this library in preference to the older library,
+ confusingly called pcre3 in Debian.
+ .
+ This package contains the utilities pcre2grep (like grep with PCRE)
+ and pcre2test (a test program for the library, but also useful for
+ experimenting with regular expressions). Both programs are also
+ useful examples of programming with libpcre2.
--- /dev/null
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Comment: This package was debianized by Matthew Vernon <matthew@debian.org>
+Source: https://github.com/PCRE2Project/pcre2/releases
+
+Files: *
+Copyright: 1997-2022 University of Cambridge.
+License: BSD-3-clause-Cambridge with BINARY LIBRARY-LIKE PACKAGES exception
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+ .
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ .
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ .
+ * Neither the name of the University of Cambridge nor the names of any
+ contributors may be used to endorse or promote products derived from this
+ software without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+ .
+ .
+ EXEMPTION FOR BINARY LIBRARY-LIKE PACKAGES
+ ------------------------------------------
+ .
+ The second condition in the BSD licence (covering binary redistributions) does
+ not apply all the way down a chain of software. If binary package A includes
+ PCRE2, it must respect the condition, but if package B is software that
+ includes package A, the condition is not imposed on package B unless it uses
+ PCRE2 independently.
+
+Files: cmake/Find*
+Copyright: KDE Community
+License: BSD-3-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ .
+ 1. Redistributions of source code must retain the copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ 3. The name of the author may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Files: install-sh
+Copyright: (C) 1994 X Consortium
+License: X11
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to
+ deal in the Software without restriction, including without limitation the
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+ TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ .
+ Except as contained in this notice, the name of the X Consortium shall not
+ be used in advertising or otherwise to promote the sale, use or other deal-
+ ings in this Software without prior written authorization from the X Consor-
+ tium.
+Comment: FSF changes to this file are in the public domain.
+
+Files: deps/sljit/*
+Copyright: Zoltan Herczeg (hzmester@freemail.hu). All rights reserved.
+License: BSD-2-clause
+ Redistribution and use in source and binary forms, with or without modification, are
+ permitted provided that the following conditions are met:
+ .
+ 1. Redistributions of source code must retain the above copyright notice, this list of
+ conditions and the following disclaimer.
+ .
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ of conditions and the following disclaimer in the documentation and/or other materials
+ provided with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND CONTRIBUTORS ``AS IS'' AND ANY
+ EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+ SHALL THE COPYRIGHT HOLDER(S) OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Files: testdata/*
+Copyright: None (public-domain)
+License: public-domain
+ The data in the testdata directory is not copyrighted and is in the public domain.
--- /dev/null
+[DEFAULT]
+upstream-branch = upstream
+debian-branch = master
+upstream-tag = %(version)s
+
+sign-tags = False
+pristine-tar = False
+pristine-tar-commit = False
--- /dev/null
+debian/tmp/usr/lib/*/libpcre2-16.so.*
--- /dev/null
+libpcre2-16.so.0 libpcre2-16-0 #MINVER#
+ (symver)PCRE2_10.47 10.47
+ (symver)PCRE2_10.48 10.48
--- /dev/null
+debian/tmp/usr/lib/*/libpcre2-32.so.*
--- /dev/null
+libpcre2-32.so.0 libpcre2-32-0 #MINVER#
+ (symver)PCRE2_10.47 10.47
+ (symver)PCRE2_10.48 10.48
--- /dev/null
+debian/tmp/usr/lib/*/libpcre2-8.so.*
--- /dev/null
+debian/tmp/usr/lib/*/libpcre2-8.so.*
--- /dev/null
+libpcre2-8.so.0 libpcre2-8-0 #MINVER#
+ (symver)PCRE2_10.47 10.47
+ (symver)PCRE2_10.48 10.48
--- /dev/null
+debian/tmp/usr/include/*
+debian/tmp/usr/lib/*/lib*.a
+debian/tmp/usr/lib/*/lib*.so
+debian/tmp/usr/lib/*/pkgconfig/*
+debian/tmp/usr/bin/*-config
+debian/tmp/usr/share/man/man3/*
--- /dev/null
+# The multiarch-path never appears in pcre2-config output
+libpcre2-dev binary: old-style-config-script-multiarch-path
--- /dev/null
+debian/tmp/usr/share/man/man1/pcre2-config.1
--- /dev/null
+debian/tmp/usr/lib/*/libpcre2-posix.so.*
--- /dev/null
+libpcre2-posix.so.3 libpcre2-posix3 #MINVER#
+ (symver)PCRE2_10.47 10.47
+ (symver)PCRE2_10.48 10.48
--- /dev/null
+/usr/lib/*/libpcre2*.la
+/usr/share/doc/pcre2/*
--- /dev/null
+debian/tmp/usr/bin/pcre2test
+debian/tmp/usr/bin/pcre2grep
+debian/tmp/usr/share/man/man1/pcre2test.1
+debian/tmp/usr/share/man/man1/pcre2grep.1
--- /dev/null
+#!/usr/bin/make -f
+# See debhelper(7)
+# output every command that modifies files on the build system.
+#DH_VERBOSE = 1
+
+# see dpkg-buildflags(1)
+DPKG_EXPORT_BUILDFLAGS = 1
+include /usr/share/dpkg/default.mk
+# prefix names of functions in libpcreposix with PCRE2 to avoid clash with
+# ones in libc.
+export DEB_CFLAGS_MAINT_APPEND = -Dregcomp=PCRE2regcomp -Dregexec=PCRE2regexec -Dregerror=PCRE2regerror -Dregfree=PCRE2regfree
+
+
+deb_maint_conf_args = --enable-pcre2-16 --enable-pcre2-32 --disable-pcre2grep-callout
+#enable JIT only on architectures that support it (see pcre2jit.3)
+ifneq ($(filter amd64 armhf arm64 i386 loong64 mips mipsel mips64el powerpc ppc64 ppc64el riscv64 s390x, $(DEB_HOST_ARCH)),)
+deb_maint_conf_args +=--enable-jit
+else
+deb_maint_conf_args +=--disable-jit
+endif
+
+%:
+ dh $@
+
+override_dh_auto_configure:
+ dh_auto_configure -- $(deb_maint_conf_args)
+
+override_dh_makeshlibs:
+ dh_makeshlibs -V --add-udeb=libpcre2-8-0-udeb
+
+override_dh_strip:
+ dh_strip --dbgsym-migration='libpcre2-dbg (<< 10.34-2~)'
--- /dev/null
+version=4
+ https://github.com/PCRE2Project/pcre2/releases .*/?(\d{2}\.\d{2})\.tar\.gz
fi
libR=
-case `uname -s` in
- *SunOS*)
- libR=" -R@libdir@"
- ;;
- *BSD*)
- libR=" -Wl,-R@libdir@"
- ;;
-esac
libS=
-case "@libdir@" in
- # system locations on Linux, no -L needed
- /usr/lib|/usr/lib32|/usr/lib64|/usr/lib/*-gnu*)
- ;;
- /lib|/lib32|/lib64|/lib/*-gnu*)
- ;;
- # system locations on AIX and Solaris, no -L needed
- /usr/lib/64|/usr/lib/amd*|/usr/lib/sparc*|/usr/lib/ppc*)
- ;;
- *)
- libS="-L@libdir@"
- ;;
-esac
while test $# -gt 0; do
case "$1" in
/* Growth rate for stack allocated by the OS. Should be the multiply
of page size. */
-#define STACK_GROWTH_RATE 8192
+#define STACK_GROWTH_RATE (sljit_sw)8192
/* Enable to check that the allocation could destroy temporaries. */
#if defined SLJIT_DEBUG && SLJIT_DEBUG
BOOL local_quit_available;
/* Currently in a positive assertion. */
BOOL in_positive_assertion;
+ /* More than STACK_GROWTH_RATE / 2 stack memory is allocated. */
+ BOOL large_stack_allocation;
/* Newline control. */
int nltype;
sljit_u32 nlmax;
DEFINE_COMPILER;
SLJIT_ASSERT(size > 0);
+if (size > (STACK_GROWTH_RATE / (SSIZE_OF(sw) * 2)))
+ common->large_stack_allocation = TRUE;
OP2(SLJIT_SUB, STACK_TOP, 0, STACK_TOP, 0, SLJIT_IMM, size * SSIZE_OF(sw));
#ifdef DESTROY_REGISTERS
OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, 12345);
OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), LOCAL1, STR_PTR, 0);
OP1(SLJIT_MOV, SLJIT_R0, 0, ARGUMENTS, 0);
-OP2(SLJIT_SUB, SLJIT_R1, 0, STACK_LIMIT, 0, SLJIT_IMM, STACK_GROWTH_RATE);
+if (common->large_stack_allocation)
+ {
+ SLJIT_COMPILE_ASSERT((STACK_GROWTH_RATE & (STACK_GROWTH_RATE - 1)) == 0, stack_growth_must_be_power_of_2);
+ // Negative difference. The positive difference would also use the same amount
+ // of operations, but the last subtraction emits several instructions on x86.
+ OP2(SLJIT_SUB, SLJIT_R1, 0, STACK_TOP, 0, STACK_LIMIT, 0);
+ // Minimum extra space after allocation.
+ OP2(SLJIT_SUB, SLJIT_R1, 0, SLJIT_R1, 0, SLJIT_IMM, (STACK_GROWTH_RATE / 2));
+ // Rounds down negative numbers.
+ OP2(SLJIT_AND, SLJIT_R1, 0, SLJIT_R1, 0, SLJIT_IMM, ~(STACK_GROWTH_RATE - 1));
+ OP2(SLJIT_ADD, SLJIT_R1, 0, SLJIT_R1, 0, STACK_LIMIT, 0);
+ }
+else
+ OP2(SLJIT_SUB, SLJIT_R1, 0, STACK_LIMIT, 0, SLJIT_IMM, STACK_GROWTH_RATE);
OP1(SLJIT_MOV, SLJIT_R0, 0, SLJIT_MEM1(SLJIT_R0), SLJIT_OFFSETOF(jit_arguments, stack));
OP1(SLJIT_MOV, STACK_LIMIT, 0, TMP2, 0);